//package com.yuntsg.给新单位部署或更新时候用;
//
//import cn.hutool.db.Db;
//import cn.hutool.db.Entity;
//
//import com.alibaba.druid.pool.DruidDataSource;
//import common.util.Base64;
//
//import java.nio.charset.StandardCharsets;
//import java.sql.SQLException;
//import java.util.List;
//
//public class Create {
//    /**
//     * 首先直接导出线上数据库的所有空表直接复制到对应单位数据库下
//     *
//     * @param args
//     * @throws SQLException
//     */
//    public static void main(String[] args) throws SQLException {
//
//        /**
//         * 单位基本信息
//         */
//        /**
//         * 跑之前要截断所有表
//         */
//        //是否更新以下表的数据
//        boolean wos_basic = true;
//        boolean unit_dept = true;
//        boolean unknown_dept = true;
//        boolean sys_user = true;
//        boolean unit_basic = true;
//        boolean sys_check = true;
//        //单位GID
//        int gid = 96;
//        //登录密码
//        String login_password = "zs_hosp_2024";
//        //单位名称
//        String unitName = "复旦中山医院";
//        //单位检索式
//        String unitSearchPlan = "AD=((Fudan Univ OR Shanghai OR SHANGHAI MED UNIV) SAME (Zhongshan Hosp OR Zhong Shan Hosp))";
//        //单位上传密钥
//        String example_key = "EORQKJpKvEPZgDPElpgukOdK9J4VuPUUXQMqvSsNewg=";
//
//        /**
//         * A数据库
//         */
//        String database_a = "paper_analysis_local";
//        DruidDataSource ds_a = new DruidDataSource();
//        ds_a.setUrl("jdbc:mysql://10.1.1.14:3306/" + database_a);
//        ds_a.setUsername("root");
//        ds_a.setPassword("quanfang3.1415");
//
//        /**
//         * B数据库
//         */
//        String database_b = "paper_analysis_local";
//        DruidDataSource ds_b = new DruidDataSource();
//        ds_b.setUrl("jdbc:mysql://localhost:3307/" + database_b);
//        ds_b.setUsername("root");
//        ds_b.setPassword("quanfang3.1415");
//
//        //wos_basic
//        if (wos_basic) {
//            List<Entity> wos_basic_list = Db.use(ds_a).query("select * from wos_basic where gid = " + gid + " ;");
//            for (Entity entity : wos_basic_list) {
//                entity.set("id", null);
//                entity.set("pdf_url", null);
//                entity.set("file_path", null);
//                entity.set("analysis_map", null);
//                entity.set("analysis_flag", 0);
//                entity.set("au_msg_flag", 0);
//                entity.set("copy_flag", 0);
//                Db.use(ds_b).insert(entity);
//            }
//            System.out.println("wos_basic 表配置完成");
//        }
//        //unit_dept
//        if (unit_dept) {
//            List<Entity> unit_dept_list = Db.use(ds_a).query("select * from unit_dept where gid = 1 ;");
//            for (Entity entity : unit_dept_list) {
//                entity.set("id", null);
//                entity.set("gid", gid);
//                Db.use(ds_b).insert(entity);
//            }
//            System.out.println("unit_dept 表配置完成");
//        }
//        //unknown_dept_flag
//        if (unknown_dept) {
//            List<Entity> unit_dept_list = Db.use(ds_a).query("select * from unknown_dept where gid = 1 ;");
//            for (Entity entity : unit_dept_list) {
//                entity.set("id", null);
//                entity.set("gid", gid);
//                Db.use(ds_b).insert(entity);
//            }
//            System.out.println("unknown_dept 表配置完成");
//        }
//        //sys_user
//        if (sys_user) {
//            login_password = Base64.encode(login_password.getBytes(StandardCharsets.UTF_8));
//            Db.use(ds_b).execute("INSERT INTO sys_user (real_name, username, password, dept_id, gid, dept_name, status, phone, upload_count, confirm_count, permission) VALUES ('总管理员', 'admin', '" + login_password + "', 1, " + gid + ", '', 1, '13864677931', 0, 0, 1);");
//            Db.use(ds_b).execute("INSERT INTO sys_user (real_name, username, password, dept_id, gid, dept_name, status, phone, upload_count, confirm_count, permission) VALUES ('Master_导师', 'master', '" + login_password + "', 1, " + gid + ", '', 1, '13864677931', 0, 0, 2);");
//            Db.use(ds_b).execute("INSERT INTO sys_user (real_name, username, password, dept_id, gid, dept_name, status, phone, upload_count, confirm_count, permission) VALUES ('Entrust_委托', 'entrust', '" + login_password + "', 1, " + gid + ", '', 1, '13864677931', 0, 0, 3);");
//            Db.use(ds_b).execute("INSERT INTO sys_user (real_name, username, password, dept_id, gid, dept_name, status, phone, upload_count, confirm_count, permission) VALUES ('Sysuser_用户', 'sysuser', '" + login_password + "', 1, " + gid + ", '', 1, '13864677931', 0, 0, 4);");
//
//            Db.use(ds_b).execute("INSERT INTO sys_role (user_id, role_name) VALUES (1, 'unit_admin');");
//            Db.use(ds_b).execute("INSERT INTO sys_role (user_id, role_name) VALUES (2, 'dept_admin');");
//            Db.use(ds_b).execute("INSERT INTO sys_role (user_id, role_name) VALUES (3, 'dept_entrust');");
//            Db.use(ds_b).execute("INSERT INTO sys_role (user_id, role_name) VALUES (4, 'sys_user');");
//            System.out.println("增加用户信息完成");
//        }
//        //unit_basic
//        if (unit_basic) {
//            Db.use(ds_b).execute("INSERT INTO unit_basic (mark, unit_name, search_plan, search_plan_cn, search_num, msg_flag) VALUES ('" + unitName + "', '" + unitName + "', '" + unitSearchPlan + "', '暂无中文检索策略', 0, 0);");
//            Db.use(ds_b).execute("UPDATE unit_basic set id =" + gid + " WHERE id = 1 ");
//            System.out.println("单位基本信息配置完成");
//        }
//        //sys_check
//        if (sys_check) {
//            Db.use(ds_b).execute("INSERT INTO sys_check (var_key, var_one, var_two) VALUES ('" + example_key + "', 0, 0);");
//            Db.use(ds_b).execute("UPDATE sys_check set id =" + gid + " WHERE id = 1 ");
//            System.out.println("单位上传密钥配置完成");
//        }
//
//        System.out.println("所有配置与数据更新完成");
//    }
//}
